package com.tqyan.dal.mapper;

import com.tqyan.model.dto.DataShadowDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @description 数字缩影
 * <p> <功能详细描述> </p>
 *
 * @author 陈晨
 * @date 2023/4/18 16:47
 */
@Mapper
public interface DataShadowMapper {

    /**
     * @description 添加
     * <p> <功能详细描述> </p>
     *
     * @author 陈晨
     * @date 2023/4/10 18:19
     */
    int save(@Param("list") List<DataShadowDTO> list);

    /**
     * @description 更新
     * <p> <功能详细描述> </p>
     *
     * @author 陈晨
     * @date 2023/4/12 19:39
     */
    int update(@Param("item") DataShadowDTO item);

    /**
     * @description ID查询
     * <p> <功能详细描述> </p>
     *
     * @author 陈晨
     * @date 2023/4/20 10:54
     */
    DataShadowDTO queryById(@Param("id") long id);

    /**
     * @description 名称查询
     * <p> <功能详细描述> </p>
     *
     * @author 陈晨
     * @date 2023/4/20 10:54
     */
    DataShadowDTO queryByName(@Param("name") String name);

    /**
     * @description 添加关系
     * <p> <功能详细描述> </p>
     *
     * @author 陈晨
     * @date 2023/4/10 18:19
     */
    int saveMapping(@Param("item") Map<String, Object> item);

    /**
     * @description 删除关系
     * <p> <功能详细描述> </p>
     *
     * @author 陈晨
     * @date 2023/4/20 18:54
     */
    int deleteMapping(@Param("keyword") String keyword, @Param("id") long id);

    /**
     * @description 关键词查询
     * <p> <功能详细描述> </p>
     *
     * @author 陈晨
     * @date 2023/4/20 11:29
     */
    List<Long> queryByKeyword(@Param("keyword") String keyword);

}


